The following terminology will be used throughout to describe and refer to various items used in importing, exporting and determining an initial state for files having multiple layers. A layer (sometimes referred to as an object) is a component of an image file. An image file can have several (up to hundreds) layers. There may be different types of layers in an image file (for example a content layer, a shape layer, a web layer, etc.). A layer set is a group that can contain multiple layers (objects). Bi-state refers to a layer including two states, typically a maintain appearance state and an editable state.
There are different types of editing applications used for editing image files. A typical image file can contain several layers, each layer having a maintain appearance state and an editable state.
When a user imports/opens an application's native file format into another application, a mapping is created between the features supported if the user wants the features imported to be editable. When this conversion of formats in done during import, it is possible that the user gets either an exact match, an approximate match or no match at all.
An example of an approximate match can occur when a first application might support different parameters for an effect as compared to a second application, and might use a different algorithm for implementing the same effect, thus the appearance of an effect in the first application would be different from the appearance of the same effect in the second application, if the user elects to import in editable mode. However, when the user imports in maintain appearance mode, the appearance would be the same. An example of a no match at all scenario occurs when a feature of a first application is not supported in the second application.
Ideally, a user would want to have full editability with exact appearance match. Many times the user ends up in either an approximate match situation or a situation where there is no match at all. Almost all applications that include an import feature have options for importing the entire file as a flattened bitmap wherein layers are lost (this would not be used if the user wants to make changes to the file, as this is least flexible). The import feature may also include an option wherein the appearance of layers is maintained, and editability of layers in a file is maintained. The import feature may also include an option wherein the editability of the file is maintained (i.e. import as vector with editable text, layer effects and complex masks even if it means losing the appearance, either partially or fully).
However, a user can only either import all the layers as maintain appearance state or all of layers as editable state. A typical designer works with hundreds of layers, and it is a problem for the designer to either import all the layers as maintain appearance (raster) or import all the layers as editable. One workaround is that designers import with both options and copy paste the best from each layer, which is time consuming and cumbersome. For example, an image file may have 200 layers and the user wants 70 layers to be completely editable and the remaining 130 layers as maintain appearance state.
When a user exports a file, if the user exports files in maintain appearance mode, the appearance is maintained for all the layers, which is good, but vectors, text, attributes of layer effects etc. cannot be edited. This can be a severe limitation. If a user exports files in editable mode, all hundreds of layers become editable, but many of them appear different, due to which the entire resultant appearance is different. To get around this, the user can export the file with layers (generally in order of hundreds) in both modes separately, and mix and combine the layers between them using copy and paste functions. Again this is cumbersome and time consuming.